)9BEG START
)9EXT INPUT DMSG            % External dependency, code documented but only available as BRF :(
START,
       MON   143
       COPY  ST DA
       JAF   LC
       LDA   (C1
       MON   70
       MON   0
LC,    SAT   0
       MON   1
       MON   65
       LDA   (ESC
       MON   300
       MON   65
L1,    LDX   (T1
       MON   32             % 'USER NAME: '
       SAT   0
       LDX   (BU
       JPL I (INPUT
       JXZ   ESC
       LDX   (BU
       MON   250           % DEFAULT DIRECTORY
       MON   65
       SHT   ZIN 10
       RADD  SA DT
       STT   UIDI
       JMP   OFILE
ESC,   MON   0
T1,    'USER NAME: '
T2,    'OUTPUT FILE: '
C1,    'STOP-SYSTEM LOG EXIT BYE STOP HALT'
)FILL
T3,    'FILE '
T4,    6412; 23400
FTYP,  #SY
       #MB
DN,    *+24/
UN,    *+20/
FN,    *+12/
BU,    *+40/
UIDI,  0
OFILE, LDX   (T2
       MON   32             % 'OUTPUT FILE: '
       SAT   0
       LDX   (BU
       JPL I (INPUT
       JXZ   L9
       LDX   (BU
       LDA   (FTYP
       SAT   0
       MON   50
       MON   65
       STA   UTFIL
L9,    LDA   UIDI
       SHA   ROT 10
       AND   (377
       COPY  SA DT
       LDX   (DN
       MON   244           % FETCH DIR-NAME
       MON   65
       LDT   (BU
       SAX   0
L4,    LBYT
       AND   (177
       SUB   (47
       JAZ   L2
       AAX   1
       JMP   L4
L2,    SAA   72
       SBYT
       LDA   (UN
       LDX   UIDI
       MON   214           % FETCH USERNAME
       MON   65
       SAA   0
L3,    COPY  SA DB
       LDT   UIDI
       LDX   (FN
       MON   273           % READ OBJECT ENTRY
       JMP   NEXT
PRIFL, LDX   (T3             % PRINT 'FILE '
       LDT   UTFIL
       JPL I (DMSG
       JPL   PRIDE           % PRINT FILE NUMBER
       LDX   (DN+5
       LDT   UTFIL
       JPL I (DMSG           % PRINT DIRECTORY
       SAA   72              % :
       LDT   UTFIL
       MON   2
       MON   65
       LDX   (UN
       LDT   UTFIL
       JPL I (DMSG           % PRINT USERNAME
       SAA   51              % )
       LDT   UTFIL
       MON   2
       MON   65
       LDX   (FN
       LDT   UTFIL
       JPL I (DMSG           % PRINT FILENAME
       LDX   (T4
       LDT   UTFIL
       JPL I (DMSG
NEXT,  JPL   INCDE
       COPY  SB DA
       AAA   1
       SUB   (400
       JAZ   END
       ADD   (400
       JMP   L3
END,   MON   0
UTFIL, 1
)FILL
PRIDE, SAX   0
       LDT   (DT1
       LBYT
       SUB   (60
       JAF   PRI
       AAX   1
       LBYT
       SUB   (60
       JAF   PRI
       AAX   1
PRI,   LDT   (DT1
       LBYT
       LDT   UTFIL
       MON   2
       MON   65
       AAX   1
       COPY  SX DA
       SUB   (7
       JAF   PRI
       JMP   ENND
INCDE, LDT   (DT1
       SAX   2
LA2,   LBYT
       AAA   1
       SBYT
       SUB   (72
       JAF   ENND
       SAA   60
       SBYT
       AAX   -1
       JMP   LA2
ENND,  EXIT
DT1,   '000 : ('
)FILL
)9END
)LINE
